Should we have a database independent SQL like query language in Django? [closed]

Posted by Yugal Jindle on Stack Overflow See other posts from Stack Overflow or by Yugal Jindle
Published on 2012-10-06T14:24:21Z Indexed on 2012/10/06 15:37 UTC
Read the original article Hit count: 392

Note :

  • I know we have Django ORM already that keeps things database independent and converts to the database specific SQL queries.
  • Once things starts getting complicated it is preferred to write raw SQL queries for better efficiency.
  • When you write raw sql queries your code gets trapped with the database you are using.
  • I also understand its important to use the full power of your database that can-not be achieved with the django orm alone.

My Question :

  • Until I use any database specific feature, why should one be trapped with the database.
  • For instance :

We have a query with multiple joins and we decided to write a raw sql query. Now, that makes my website postgres specific. Even when I have not used any postgres specific feature.

I feel there should be some fake sql language which can translate to any database's sql query. Even Django's ORM can be built over it. So, that if you go out of ORM but not database specific - you can still remain database independent.

I asked the same question to Jacob Kaplan Moss (In person) :

  • He advised me to stay with the database that I like and endure its whole power, to which I agree. But my point was not that we should be database independent.
  • My point is we should be database independent until we use a database specific feature.

Please explain, why should be there a fake sql layer over the actual sql ?

© Stack Overflow or respective owner

Related posts about python

Related posts about database